package com.powernode.service.impl;

import com.powernode.commons.Result;
import com.powernode.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

import java.util.List;

/**
 * @AUTHOR X
 * @DATE 2021/10/28 22:21
 * @DESC consumer通过HTTP请求拿到producer提供的订单信息
 */
@SuppressWarnings({"all"})
@Service
public class OrderServiceImpl implements OrderService {
    /*@Autowired
    private RestTemplate restTemplate;*/
    /**
     * 获取eureka服务的客户端,然后可以使用里面注册的生产者
     */
    // 使用负载均衡后这个就没用了,而是去启动类中的Bean--RestTemplate上面加负载均衡的注解loadbalanced
    /*@Autowired
    private DiscoveryClient discoveryClient;*/
    @Override
    public Result goodsList() {
        // 使用负载均衡前
        /*// 根据服务的实例名称拉去指定注册中心的服务地址,可能服务是集群,所以是个集合
        List<ServiceInstance> product = discoveryClient.getInstances("product");
        ServiceInstance serviceInstance = product.get(0);
        int port = serviceInstance.getPort();
        String host = serviceInstance.getHost();*/
        /*try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }*/
        // 生产者通过HTTP响应会了json字符串,把它反序列化为Result结果集对象
        /*Result data = restTemplate.getForObject("http://product/goods/items", Result.class);
        return data;*/
        return null;
    }
}
